package com.aaa.query;


public class PageQuery {

	/**当前需要的页码*/
	private   Long  pageNo;   
	/** 每页显示多少条    固定写死 每页10个    */
	private    Long     count = 10L;
	
	/**总数量  当前查询符合条件的数据总数    ---- 需要数据库根据搜索才能查询获取出来  */
	private    Long     totalCount;
	
	
	/**最大页码 / 总页码          只要只动了 总数就可以计算出来          */
	private    Long     totalPage;
	/**上一页    只要知道当前页 也能计算出来          */
	private    Long     upPage;
	/**下一页    只要知道当前页 也能计算出来         */
	private    Long     nextPage;
	
	
	
	public PageQuery() {}
	/**
	 * 
	 * @param pageNo    当前页      totalCount 根据条件查询出来的数据总数量
	 * @param totalCount
	 */
	public PageQuery(Long  pageNo ,   Long     totalCount) {
		this.pageNo = pageNo;
		this.totalCount = totalCount;
		
		//  200条  10个   共 20 页          201  10  共21页                202 10 共 21页      212 10 共 22  页 问题        总数量  单页数量  总页码 
		//  总页码 = （总数量   +  单页数量 -  1  ） / 单页数量
		this.totalPage =  (this.totalCount + 9)/10;
		  
		this.upPage =  this.pageNo - 1 > 0 ?   this.pageNo-1 : 1 ;
		// 当前页+1 是否小于 最大页  如果小于 则赋值 否则 赋值最后一页
		this.nextPage = this.pageNo + 1 < this.totalPage ? this.pageNo + 1 : this.totalPage;
	}

	public Long getPageNo() {
		return pageNo;
	}
	public void setPageNo(Long pageNo) {
		this.pageNo = pageNo;
	}
	public Long getCount() {
		return count;
	}
	public void setCount(Long count) {
		this.count = count;
	}
	public Long getTotalCount() {
		return totalCount;
	}
	public void setTotalCount(Long totalCount) {
		this.totalCount = totalCount;
	}
	public Long getTotalPage() {
		return totalPage;
	}
	public void setTotalPage(Long totalPage) {
		this.totalPage = totalPage;
	}
	public Long getUpPage() {
		return upPage;
	}
	public void setUpPage(Long upPage) {
		this.upPage = upPage;
	}
	public Long getNextPage() {
		return nextPage;
	}
	public void setNextPage(Long nextPage) {
		this.nextPage = nextPage;
	}
	
	@Override
	public String toString() {
		return "Query [ pageNo=" + pageNo
				+ ", count=" + count + ", totalCount=" + totalCount + ", totalPage=" + totalPage + ", upPage=" + upPage
				+ ", nextPage=" + nextPage + "]";
	}
	

}
